#ifndef DEATHROUGH_H
#define DEATHROUGH_H
#include "Game.h"

class Deathrough : public Game
{
    public:
        Deathrough(); /**< Constructor for the Deathrough class */
        virtual ~Deathrough(); /**< Virtual destructor for the Deathrough class */
        // Virtual functions
        /**
            Returns a vector with all player's legal moves
            @param[in] p_pieces All pieces on the board
            @param[in] collectPoints All legal moves
        */
        virtual void legalMoves(std::vector<Point>& p_pieces, std::vector<MyPair>& collectPoints);
        /**
            Decides whether some player has reached terminal state (won the game)
            @returns Player who reached terminal state, otherwise -1
        */
        virtual int terminalState();
        /**
            Name of the game
            @returns Name of the game
        */
        virtual std::string getName() const;
        virtual void go();
};

#endif // DEATHROUGH_H
